1,910 research outputs found

    Formalización de refactorings en el contexto de MDA

    Get PDF
    El objetivo principal de esta tesis es presentar una técnica de especificación de refactorings alineados con MDA aplicables a sus diferentes tipos de modelos de diseño UML, es decir, a modelos independientes de la computación, modelos dependientes de una plataforma y modelos dependientes de la implementación. En particular, en este trabajo, se muestra la técnica de especificación de refactorings aplicados a modelos de diagramas de clases UML enriquecidos con anotaciones OCL en los distintos niveles de abstracción. Los refactorings se especifican como contratos OCL utilizando la técnica de metamodelado. Los metamodelos son expresados usando Meta Object Facility (MOF). Asimismo, en esta tesis, se analiza la integración de la especificación de los refactorings con técnicas formales. Se detalla la traducción de los contratos OCL de refactorings y los metamodelos MOF al lenguaje de especificación formal NEREUS.Facultad de Informátic

    Refactoring de diagramas de clases UML

    Get PDF
    Se denomina refactoring al proceso de reestructurar software orientado a objetos aplicando una secuencia de transformaciones que preservan la funcionalidad del mismo a fin de mejorar alguna métrica. Es una actividad esencial para controlar la evolución del software facilitando futuras adaptaciones y extensiones. Cobró importancia en procesos de desarrollo como XP (eXtreme Programming) que requiere de la reestructuración de modelos y código existentes a partir de pasos pequeños y sistemáticos (Beck, 2000). También es fundamental en el contexto de técnicas de ingeniería reversa de sistemas legacy. Algunas herramientas CASE UML proveen facilidades, si bien limitadas, para el refactoring sobre código, es decir ligado a la sintaxis de un lenguaje de programación en particular. Actualmente OMG (Object Management Group) promueve desarrollos de software basados en UML (OMG, 2004) a partir de una arquitectura Model Driven (MDA, 2004). MDA define un framework para modelar que separa la especificación de la funcionalidad del sistema de su implementación sobre una plataforma en una tecnología específica. La idea clave es la automatización de transformaciones de modelo-a-modelo. En este contexto se vuelven esenciales las técnicas de refactoring para mejorar los modelos de los distintos niveles de abstracción de un diseño. En esta investigación se propone el refactoring de diagramas de clases UML enriquecidos con expresiones OCL (Warmer y Kepple, 2003) a partir de un sistema transformacional basado en reglas y estrategias. El objetivo de este sistema transformacional es proveer asistencia para los refactorings de modelo-a-modelo mediante la aplicación de reglas de transformación que preservan la funcionalidad del modelo original. Las transiciones entre versiones se realizan de acuerdo a reglas precisas basadas en la redistribución de clases, atributos, operaciones y asociaciones del diagrama. Durante el proceso de transformación, se necesitan estrategias para guiar la aplicación de las reglas de transformación que permiten construir un nuevo diagrama UML. Se describen en la sección 2 los trabajos relacionados. La sección 3 presenta el sistema de transformación y un conjunto de reglas y estrategias para reestructurar clases y asociaciones. Finalmente la sección 4 concluye y discute futuros trabajos.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Refactorings en el Contexto de MDA

    Get PDF
    The Model Driven Architecture (MDA) is an initiative proposed by the Object Management Group (OMG) to model centric software development. It is based on the concepts of models, metamodels and automatic transformation from abstract models to executable components or applications. The outstanding ideas behind MDA are the different kinds of models, the separation of the specification of the system functionality from its implementation on specific platforms and the control of the model evolution. Refactorings play a fundamental role in the perfective evolution of the models. In this paper, we propose refactoring specification based on metamodeling techniques. The refactoring rules are specified in the Object Constraint Language (OCL) as contracts between metamodels. We propose a uniform treatment of MDA-refactorings at different abstraction levels. We describe foundations for MDA-based refactoring that enable extending the functionality of the existing CASE tools in order to improve the MDA-based process qualityLa arquitectura model-driven (MDA) es una iniciativa propuesta por el Object Management Group (OMG) para la especificación de sistemas basada en el uso de modelos. Los elementos básicos en esta arquitectura son los modelos, metamodelos y transformaciones automáticas desde modelos abstractos a componentes ejecutables o aplicaciones. Las ideas centrales son la clasificación de modelos en distintos niveles de abstracción, la independencia entre la especificación de la funcionalidad del sistema y su implementación sobre una plataforma en una tecnología específica y el control de la evolución de los modelos. Los refactorings tienen un rol fundamental en la evolución perfectiva de los modelos. En este artículo se propone una especificación de refactorings basados en MDA utilizando una técnica de metamodelado, especificándolos en el Object Constraint Language (OCL) como contratos entre metamodelos. Se presenta un tratamiento uniforme de los refactorings para los distintos modelos propuestos por la arquitectura MDA. La incorporación de esta propuesta a la funcionalidad de las herramientas CASE existentes permitiría mejorar la calidad de los procesos basados en MDA.Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Refactorings en el Contexto de MDA

    Get PDF
    The Model Driven Architecture (MDA) is an initiative proposed by the Object Management Group (OMG) to model centric software development. It is based on the concepts of models, metamodels and automatic transformation from abstract models to executable components or applications. The outstanding ideas behind MDA are the different kinds of models, the separation of the specification of the system functionality from its implementation on specific platforms and the control of the model evolution. Refactorings play a fundamental role in the perfective evolution of the models. In this paper, we propose refactoring specification based on metamodeling techniques. The refactoring rules are specified in the Object Constraint Language (OCL) as contracts between metamodels. We propose a uniform treatment of MDA-refactorings at different abstraction levels. We describe foundations for MDA-based refactoring that enable extending the functionality of the existing CASE tools in order to improve the MDA-based process qualityLa arquitectura model-driven (MDA) es una iniciativa propuesta por el Object Management Group (OMG) para la especificación de sistemas basada en el uso de modelos. Los elementos básicos en esta arquitectura son los modelos, metamodelos y transformaciones automáticas desde modelos abstractos a componentes ejecutables o aplicaciones. Las ideas centrales son la clasificación de modelos en distintos niveles de abstracción, la independencia entre la especificación de la funcionalidad del sistema y su implementación sobre una plataforma en una tecnología específica y el control de la evolución de los modelos. Los refactorings tienen un rol fundamental en la evolución perfectiva de los modelos. En este artículo se propone una especificación de refactorings basados en MDA utilizando una técnica de metamodelado, especificándolos en el Object Constraint Language (OCL) como contratos entre metamodelos. Se presenta un tratamiento uniforme de los refactorings para los distintos modelos propuestos por la arquitectura MDA. La incorporación de esta propuesta a la funcionalidad de las herramientas CASE existentes permitiría mejorar la calidad de los procesos basados en MDA.Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Refactoring de diagramas de clases UML

    Get PDF
    Se denomina refactoring al proceso de reestructurar software orientado a objetos aplicando una secuencia de transformaciones que preservan la funcionalidad del mismo a fin de mejorar alguna métrica. Es una actividad esencial para controlar la evolución del software facilitando futuras adaptaciones y extensiones. Cobró importancia en procesos de desarrollo como XP (eXtreme Programming) que requiere de la reestructuración de modelos y código existentes a partir de pasos pequeños y sistemáticos (Beck, 2000). También es fundamental en el contexto de técnicas de ingeniería reversa de sistemas legacy. Algunas herramientas CASE UML proveen facilidades, si bien limitadas, para el refactoring sobre código, es decir ligado a la sintaxis de un lenguaje de programación en particular. Actualmente OMG (Object Management Group) promueve desarrollos de software basados en UML (OMG, 2004) a partir de una arquitectura Model Driven (MDA, 2004). MDA define un framework para modelar que separa la especificación de la funcionalidad del sistema de su implementación sobre una plataforma en una tecnología específica. La idea clave es la automatización de transformaciones de modelo-a-modelo. En este contexto se vuelven esenciales las técnicas de refactoring para mejorar los modelos de los distintos niveles de abstracción de un diseño. En esta investigación se propone el refactoring de diagramas de clases UML enriquecidos con expresiones OCL (Warmer y Kepple, 2003) a partir de un sistema transformacional basado en reglas y estrategias. El objetivo de este sistema transformacional es proveer asistencia para los refactorings de modelo-a-modelo mediante la aplicación de reglas de transformación que preservan la funcionalidad del modelo original. Las transiciones entre versiones se realizan de acuerdo a reglas precisas basadas en la redistribución de clases, atributos, operaciones y asociaciones del diagrama. Durante el proceso de transformación, se necesitan estrategias para guiar la aplicación de las reglas de transformación que permiten construir un nuevo diagrama UML. Se describen en la sección 2 los trabajos relacionados. La sección 3 presenta el sistema de transformación y un conjunto de reglas y estrategias para reestructurar clases y asociaciones. Finalmente la sección 4 concluye y discute futuros trabajos.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Calibration and validation of a dynamic water model in agricultural scenarios

    Get PDF
    A dynamic aquatic model (DynA model) was previously developed to predict the fate of a chemical in aquatic scenarios characterized by daily or periodic changes in several input parameters. DynA model is here calibrated with data obtained from the literature in specific unsteady state scenarios, such as those of rice fields. The results obtained for two herbicides (cinosulfuron and pretilachlor) in rice paddy scenarios revealed the capability of the model to accurately predict water and sediment concentrations, as shown by some statistical indicators. Modelling efficiency (EF) values of 0.86–0.99 for the water compartment and of 0.77–0.84 for sediment show the good agreement between predicted and measured concentrations. An ‘‘external validation’’ was performed using measured data for a different herbicide (molinate) applied in a Portuguese paddy rice scenario. A sensitivity analysis for this volatile chemical revealed the influence of some climatic parameters (e.g. temperature) to the model outcomes, such as water and sediment concentrations. This confirmed the capability of DynA model as an efficient tool for the pesticide risk assessment in dynamic scenario

    TRACEM - Towards a Standard Metamodel for Execution Traces in Model-Driven Reverse Engineering

    Get PDF
    Reverse engineering is a crucial stage in the software modernization process. The current techniques available in existing CASE tools provide forward engineering and limited facilities for reverse engineering, dynamic analysis in particular. The Architecture-Driven Modernization initiative has defined standards to support the modernization process in the model-driven engineering (MDE) context. Standardization increases interoperability between different tools enabling a new generation of solutions to benefit the whole industry and encourage collaboration among complementary vendors. In this paper, we present TRACEM, a metamodel to represent trace information under a standard representation. This metamodel complements a MDE framework for software modernization that aims to integrate static and dynamic analysis techniques during the reverse engineering process. This paper includes a case study that exemplifies how dynamic information combined with static information allows improving the whole reverse engineering process.XIX Workshop Ingeniería de Software (WIS)Red de Universidades con Carreras en Informátic

    Object oriented image analysis of urban areas whith LANDSAT images

    Get PDF
    Este estudo tem como objetivo o desenvolvimento de uma metodologia para a classificação automática de áreas urbanas contínuas e dispersas que caracterizam a urbanização dispersa, de regiões do Estado de São Paulo com altos índices deurbanização. Busca-se desenvolver uma  metodologia que permita repetir o procedimento em outras regiões do país, com o aumento da exatidão do mapeamento, assim como com a redução do tempo e a subjetividade. Para este fim utilizou-se a classificação Orientada a Objeto em imagens LANDSAT do município de São José dos Campos, relativas a 1985 e 1999. Este procedimento consiste na segmentação multiresolução das imagens e na classificação baseada na lógica fuzzy. Considerando a resolução espacial das imagens utilizadas e o tipo de relevo da área de estudo, a classificação orientada  a objeto teve um bom desempenho no mapeamento de áreas urbanas. Os resultados obtidos mostram que a metodologiadesenvolvida pode ser replicada em outras áreas urbanas.This study attempts to develop an automatic approach to classify continuous and disperses urban areas that characterize the urban sprawl, in high urbanization regions of São Paulo State. The objective is to achieve a methodology for the increase of precision and reduction of processing time, to be applied in other regions of Brazil. Object Oriented Image Analysis with Definiens software and LANDSAT images of the São José dos Campos municipality of 1985 and 1999 were used. This procedure consist of multiresolution image segmentation and classification based on a logical fuzzy. Considering the resolution of the imagesused, and the relief of the study area the Object Oriented Image Analysis have a good performance to map urban areas. The results obtained show that the developed methodology can be replicate in other urban areas.

    Integración de técnicas orientadas al cliente y técnicas formales en el desarrollo de software con UML y RUP

    Get PDF
    En los últimos años UML ("Unified Modeling Language") se ha impuesto como un estándar de– facto para expresar modelos orientados a objetos. Es un lenguaje diseñado para especificar, visualizar, construir y documentar “artefactos” de sistemas de software [Booch’99]. A diferencia de los lenguajes visuales que lo precedieron, UML posee una definición semántica más precisa que combina notación gráfica, reglas bien formadas expresadas en OCL [OMG’01] y lenguaje natural. Esta definición semántica da una estructura rigurosa al lenguaje aunque aún varias de sus construcciones están definidas débilmente. Si bien UML estandariza un lenguaje de modelamiento y no impone ningún proceso de desarrollo fue concebido pensando en procesos dirigidos por casos de uso, centrados en arquitecturas, iterativos e incrementales. En noviembre de 2001 OMG presenta “Software Process Engineering Metamodel” (SPEM) que es usado para describir un proceso de desarrollo de software concreto o una familia de procesos que usan UML. El proceso más popular que se ajusta a SPEM es RUP (“Rational Unified Process”) [Krutchen’00]. La existencia de un lenguaje de modelamiento estándar como UML brinda la posibilidad de concentrar esfuerzos en la definición de potentes herramientas CASE UML. Pueden mencionarse entre las numerosas existentes en el mercado a Argo/UML, Together, GDPro, Stp/UML, Rational Rose, MagicDraw/UML, Rhapsody y Objecteering. Las mismas asisten en el análisis, diseño e implementación de sistemas orientados a objetos. Proveen facilidades, si bien limitadas, para homogeneizar diagramas y realizar comprobaciones que detecten inconsistencias y errores como asimismo para procesos de ingeniería directa (forward engineering) e inversa (reverse engineering)Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Integración de técnicas orientadas al cliente y técnicas formales en el desarrollo de software con UML y RUP

    Get PDF
    En los últimos años UML ("Unified Modeling Language") se ha impuesto como un estándar de– facto para expresar modelos orientados a objetos. Es un lenguaje diseñado para especificar, visualizar, construir y documentar “artefactos” de sistemas de software [Booch’99]. A diferencia de los lenguajes visuales que lo precedieron, UML posee una definición semántica más precisa que combina notación gráfica, reglas bien formadas expresadas en OCL [OMG’01] y lenguaje natural. Esta definición semántica da una estructura rigurosa al lenguaje aunque aún varias de sus construcciones están definidas débilmente. Si bien UML estandariza un lenguaje de modelamiento y no impone ningún proceso de desarrollo fue concebido pensando en procesos dirigidos por casos de uso, centrados en arquitecturas, iterativos e incrementales. En noviembre de 2001 OMG presenta “Software Process Engineering Metamodel” (SPEM) que es usado para describir un proceso de desarrollo de software concreto o una familia de procesos que usan UML. El proceso más popular que se ajusta a SPEM es RUP (“Rational Unified Process”) [Krutchen’00]. La existencia de un lenguaje de modelamiento estándar como UML brinda la posibilidad de concentrar esfuerzos en la definición de potentes herramientas CASE UML. Pueden mencionarse entre las numerosas existentes en el mercado a Argo/UML, Together, GDPro, Stp/UML, Rational Rose, MagicDraw/UML, Rhapsody y Objecteering. Las mismas asisten en el análisis, diseño e implementación de sistemas orientados a objetos. Proveen facilidades, si bien limitadas, para homogeneizar diagramas y realizar comprobaciones que detecten inconsistencias y errores como asimismo para procesos de ingeniería directa (forward engineering) e inversa (reverse engineering)Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI
    corecore